knitr::opts_chunk$set(
warning = TRUE, # show warnings during codebook generation
message = TRUE, # show messages during codebook generation
error = TRUE, # do not interrupt codebook generation in case of errors,
# usually better for debugging
echo = TRUE # show R code
)
ggplot2::theme_set(ggplot2::theme_bw())
pander::panderOptions("table.split.table", Inf)
library(codebook)
library(labelled)
#codebook_data <- codebook::bfi
# to import an SPSS file from the same folder uncomment and edit the line below
# codebook_data <- rio::import("mydata.sav")
# for Stata
# codebook_data <- rio::import("mydata.dta")
# for CSV
codebook_data <- rio::import("clean_offline_data_non-shared.csv")
# omit the following lines, if your missing values are already properly labelled
codebook_data <- detect_missing(codebook_data,
only_labelled = TRUE, # only labelled values are autodetected as
# missing
negative_values_are_missing = FALSE, # negative values are missing values
ninety_nine_problems = TRUE # 99/999 are missing values, if they
# are more than 5 MAD from the median
)
# If you are not using formr, the codebook package needs to guess which items
# form a scale. The following line finds item aggregates with names like this:
# scale = scale_1 + scale_2R + scale_3R
# identifying these aggregates allows the codebook function to
# automatically compute reliabilities.
# However, it will not reverse items automatically.
#codebook_data <- detect_scales(codebook_data)
# label variables correctly
#
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#### removing doubled column baby anchoring and scale mean scores, as the latter are created anyways ####
drop <- c("anc_baby", "E", "A", "C", "N", "O", "soc_d_mean")
codebook_data = codebook_data[ , !(names(codebook_data) %in% drop)]
#codebook_data = codebook_data[ , codebook_data$consent == "A"]
var_label(codebook_data) <- list(
gender = "Reported gender information",
acad_status = "Academic status",
age = "Age Group",
refused = "Refused participation after consent",
reason = "Reason for refusal",
consent = "Data sharing policy in consent",
bf_1 = "Big 5 Extraversion item 1",
bf_2 = "Big 5 Agreeableness item 2",
bf_3 = "Big 5 Conscientiousness item 3",
bf_4 = "Big 5 Neuroticism item 4",
bf_5 = "Big 5 Openness to experience item 5",
bf_6 = "Big 5 Extraversion item 6",
bf_7 = "Big 5 Agreeableness item 7",
bf_8 = "Big 5 Conscientiousness item 8",
bf_9 = "Big 5 Neuroticism item 9",
bf_10 = "Big 5 Openness to experience item 10",
bf_11 = "Big 5 Extraversion item 11",
bf_12 = "Big 5 Agreeableness item 12",
bf_13 = "Big 5 Conscientiousness item 13",
bf_14 = "Big 5 Neuroticism item 14",
bf_15 = "Big 5 Openness to experience item 15",
bf_16 = "Big 5 Extraversion item 16",
bf_17 = "Big 5 Agreeableness item 17",
bf_18 = "Big 5 Conscientiousness item 18",
bf_19 = "Big 5 Neuroticism item 19",
bf_20 = "Big 5 Openness to experience item 20",
bf_21 = "Big 5 Extraversion item 21",
bf_22 = "Big 5 Agreeableness item 22",
bf_23 = "Big 5 Conscientiousness item 23",
bf_24 = "Big 5 Neuroticism item 24",
bf_25 = "Big 5 Openness to experience item 25",
bf_26 = "Big 5 Extraversion item 26",
bf_27 = "Big 5 Agreeableness item 27",
bf_28 = "Big 5 Conscientiousness item 28",
bf_29 = "Big 5 Neuroticism item 29",
bf_30 = "Big 5 Openness to experience item 30",
bf_31 = "Big 5 Extraversion item 31",
bf_32 = "Big 5 Agreeableness item 32",
bf_33 = "Big 5 Conscientiousness item 33",
bf_34 = "Big 5 Neuroticism item 34",
bf_35 = "Big 5 Openness to experience item 35",
bf_36 = "Big 5 Extraversion item 36",
bf_37 = "Big 5 Agreeableness item 37",
bf_38 = "Big 5 Conscientiousness item 38",
bf_39 = "Big 5 Neuroticism item 39",
bf_40 = "Big 5 Openness to experience item 40",
bf_41 = "Big 5 Openness to experience item 41",
bf_42 = "Big 5 Agreeableness item 42",
bf_43 = "Big 5 Conscientiousness item 43",
bf_44 = "Big 5 Openness to experience item 44",
bf_45 = "Big 5 Agreeableness item 45",
cr_1 = "Careless response item 1",
cr_2 = "Careless response item 2",
cr_3 = "Careless response item 3",
cr_4 = "Careless response item 4",
cr_5 = "Careless response item 5",
cr_6 = "Careless response item 6",
cr_7 = "Careless response item 7",
soc_d_1 = "Social desirability item 1",
soc_d_2 = "Social desirability item 2",
soc_d_3 = "Social desirability item 3",
soc_d_4 = "Social desirability item 4",
soc_d_5 = "Social desirability item 5",
soc_d_6 = "Social desirability item 6",
soc_d_7 = "Social desirability item 7",
soc_d_8 = "Social desirability item 8",
soc_d_9 = "Social desirability item 9",
soc_d_10 = "Social desirability item 10",
soc_d_11 = "Social desirability item 11",
soc_d_12 = "Social desirability item 12",
soc_d_13 = "Social desirability item 13",
soc_d_14 = "Social desirability item 14",
soc_d_15 = "Social desirability item 15",
soc_d_16 = "Social desirability item 16",
soc_d_17 = "Social desirability item 17",
soc_d_18 = "Social desirability item 18",
cond_anc = "Anchoring condition",
anc_everest = "Anchoring: How high is Mount Everest",
anc_chicago = "Anchoring: Population of Chicagor",
anc_bebe = "Anchoring: Babies born in US",
mc_1 = "Manipulation check, question 1: 'Do you remember the consent you signed in the beginning?'",
mc_2 = "Manipulation check, question 2: 'Do you remember if the consent contained the topic of sharing anonymous data with others?' ",
mc_3 = "Manipulation check, question: 'Will your anonymous data be shared with others?'",
remarks = "Observer remarks"#,
# anc_baby",
# E = "Mean score on Extraversion subscale",
# A = "Mean score on Agreeableness subscale",
# C = "Mean score on Conscientiousness subscale",
# N = "Mean score on Neuroticism subscale",
# O = "Mean score on Openness to experience subscale",
# soc_d_mean = "Mean score on Social desirability scale"
)
val_labels(codebook_data$gender) <- c("Female" = 1, "Male" = 2)
val_labels(codebook_data$acad_status) <- c("other" = 0, "bachelor" = 1, "master" = 2, "PhD" = 3, "other" = 4)
val_labels(codebook_data$age) <- c("18-29 yo" = 1, "21-25 yo" = 2, "26-30 yo" = 3, "31-35 yo" = 4, "36-40 yo" = 5, "41-50 yo" = 6, "51-60 yo" = 7, "61-70 yo" = 8, "71-80 yo" = 9, "81-110 yo" = 10)
val_labels(codebook_data$refused) <- c("No" = 0, "Yes" = 1)
val_labels(codebook_data$consent) <- c("Data will be shared" = "A", "Data will not be shared" = "B")
val_labels(codebook_data$cond_anc) <- c("Low anchoring value" = 0, "High anchoring value" = 1)
val_labels(codebook_data$reason) <- c("Not refused" = 0, "Data sharing" = 1, "Not enough time" = 2, "Other" = 3)
val_labels(codebook_data$mc_1) <- c("Yes" = 1, "No" = 0)
val_labels(codebook_data$mc_2) <- c("Yes" = 1, "No" = 0)
val_labels(codebook_data$mc_3) <- c("Yes" = 1, "No" = 0)
add_likert_labels <- function(x) {
val_labels(x) <- c("Disapprove strongly" = 1,
"Disapprove slightly" = 2,
"Neither approve nore disapprove" = 3,
"Approve slightly" = 4,
"Approve strongly" = 5)
x
}
likert_items <- names(codebook_data[, c(10:79) ])
codebook_data <- codebook_data %>% mutate_at(likert_items, add_likert_labels)
#### Extraversion ####
codebook_data$Extraversion <- codebook_data %>% select("bf_1", "bf_6", "bf_11", "bf_16", "bf_21", "bf_26",
"bf_31", "bf_36") %>% aggregate_and_document_scale()
reversed_items <- c("bf_6", "bf_21", "bf_31")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Extraversion <- codebook_data %>% select("bf_1", "bf_6R", "bf_11", "bf_16", "bf_21R", "bf_26",
"bf_31R", "bf_36") %>% aggregate_and_document_scale()
#### Agreeableness ####
codebook_data$Agreeableness <- codebook_data %>% select("bf_2", "bf_7", "bf_12", "bf_17", "bf_22",
"bf_27", "bf_32", "bf_37", "bf_42", "bf_45") %>% aggregate_and_document_scale()
reversed_items <- c("bf_2", "bf_12", "bf_27", "bf_37", "bf_45")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Agreeableness <- codebook_data %>% select("bf_2R", "bf_7", "bf_12R", "bf_17", "bf_22",
"bf_27R", "bf_32", "bf_37R", "bf_42", "bf_45R") %>% aggregate_and_document_scale()
#### Conscientiousness ####
codebook_data$Conscientiousness <- codebook_data %>% select("bf_3", "bf_8","bf_13", "bf_18", "bf_23", "bf_28",
"bf_33", "bf_38", "bf_43") %>% aggregate_and_document_scale()
reversed_items <- c("bf_8", "bf_18", "bf_23", "bf_38", "bf_43")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Conscientiousness <- codebook_data %>% select("bf_3", "bf_8R","bf_13", "bf_18R", "bf_23R", "bf_28",
"bf_33", "bf_38R", "bf_43R") %>% aggregate_and_document_scale()
#### Neuroticism ####
codebook_data$Neuroticism <- codebook_data %>% select("bf_4", "bf_9", "bf_14", "bf_19", "bf_24", "bf_29",
"bf_34", "bf_39") %>% aggregate_and_document_scale()
reversed_items <- c("bf_9", "bf_24", "bf_34")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$Neuroticism <- codebook_data %>% select("bf_4", "bf_9R", "bf_14", "bf_19", "bf_24R", "bf_29",
"bf_34R", "bf_39") %>% aggregate_and_document_scale()
#### Openness to experience ####
codebook_data$'Openness to experience' <- codebook_data %>% select("bf_5", "bf_10", "bf_15", "bf_20", "bf_25", "bf_30",
"bf_35", "bf_40", "bf_41", "bf_44") %>% aggregate_and_document_scale()
reversed_items <- c("bf_35", "bf_41")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$'Openness to experience' <- codebook_data %>% select("bf_5", "bf_10", "bf_15", "bf_20", "bf_25", "bf_30",
"bf_35R", "bf_40", "bf_41R", "bf_44") %>% aggregate_and_document_scale()
#### Hétéroduperie/Social Desirability ####
codebook_data$'Heteroduperie - Social Desirability' <- codebook_data %>% select("soc_d_1",
"soc_d_2", "soc_d_3", "soc_d_4","soc_d_5", "soc_d_6",
"soc_d_7", "soc_d_8", "soc_d_9", "soc_d_10",
"soc_d_11", "soc_d_12", "soc_d_13", "soc_d_14",
"soc_d_15", "soc_d_16", "soc_d_17", "soc_d_18") %>% aggregate_and_document_scale()
reversed_items <- c("soc_d_2", "soc_d_4", "soc_d_5", "soc_d_7",
"soc_d_10", "soc_d_11", "soc_d_13", "soc_d_14",
"soc_d_17")
codebook_data <- codebook_data %>%
rename_at(reversed_items, add_R)
codebook_data <- codebook_data %>%
mutate_at(vars(matches("\\dR$")), reverse_labelled_values)
codebook_data$'Heteroduperie - Social Desirability' <- codebook_data %>% select("soc_d_1",
"soc_d_2R", "soc_d_3", "soc_d_4R", "soc_d_5R",
"soc_d_6", "soc_d_7R", "soc_d_8", "soc_d_9",
"soc_d_10R", "soc_d_11R", "soc_d_12", "soc_d_13R",
"soc_d_14R", "soc_d_15", "soc_d_16", "soc_d_17R",
"soc_d_18") %>% aggregate_and_document_scale()
metadata(codebook_data)$name <- "Shared Condition: French-Belgian student data on Big 5, Social Desirability as measured by Heteroduperie and Anchoring Paradigm, public data set"
metadata(codebook_data)$description <- "45 items taking from the french translation of the Big 5 Personality questionnaire (Plaisant et al. 2010), 18 items from the subscale 'Hétéroduperie' of the french social desirability scale (Tournois et al., 2010) and 3 Anchoring paradigm items as used in the ManyLabs replication project (Klein et al., 2014). Also includes 7 careless response items based on Meade and Craig (2012). Only this part of the dataset can be publicly shared, as the study consent stated that we would not provide public access to the second part of the data. If you are interested in re-analyzing the entire dataset, please contact the authors"
metadata(codebook_data)$identifier <- "https://dx.doi.org/10.17605/OSF.IO/X25D3"
metadata(codebook_data)$creator <- "Julia C. Eberlen, Emmanuel Nicaise, Sarah Leveaux, Youri L. Mora, Olivier Klein"
metadata(codebook_data)$citation <- "Eberlen, J. C., Nicaise, E., Leveaux, S., Mora, Y., & Klein, O. (2019, August 5). Impact of Data sharing: Data collected offline. https://doi.org/10.17605/OSF.IO/X25D3"
metadata(codebook_data)$datePublished <- "2019-08-05"
metadata(codebook_data)$temporalCoverage <- "2018-12-03 to 2018-12-17"
metadata(codebook_data)$spatialCoverage <- "Campus Solbosch, Universite libre de Bruxelles, Brussels, Belgium"
rio::export(codebook_data, "offline_data_shared.rds")
codebook(codebook_data)
knitr::asis_output(data_info)
if (exists("name", meta)) {
glue::glue(
"__Dataset name__: {name}",
.envir = meta)
}
Dataset name: Shared Condition: French-Belgian student data on Big 5, Social Desirability as measured by Heteroduperie and Anchoring Paradigm, public data set
cat(description)
45 items taking from the french translation of the Big 5 Personality questionnaire (Plaisant et al. 2010), 18 items from the subscale ‘Hétéroduperie’ of the french social desirability scale (Tournois et al., 2010) and 3 Anchoring paradigm items as used in the ManyLabs replication project (Klein et al., 2014). Also includes 7 careless response items based on Meade and Craig (2012). Only this part of the dataset can be publicly shared, as the study consent stated that we would not provide public access to the second part of the data. If you are interested in re-analyzing the entire dataset, please contact the authors
Metadata for search engines
Citation: Eberlen, J. C., Nicaise, E., Leveaux, S., Mora, Y., & Klein, O. (2019, August 5). Impact of Data sharing: Data collected offline. https://doi.org/10.17605/OSF.IO/X25D3
Date published: 2019-08-05
Creator:Julia C. Eberlen, Emmanuel Nicaise, Sarah Leveaux, Youri L. Mora, Olivier Klein
meta <- meta[setdiff(names(meta),
c("creator", "datePublished", "identifier",
"url", "citation", "spatialCoverage",
"temporalCoverage", "description", "name"))]
pander::pander(meta)
knitr::asis_output(survey_overview)
if (detailed_variables || detailed_scales) {
knitr::asis_output(paste0(scales_items, sep = "\n\n\n", collapse = "\n\n\n"))
}
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| V1 | integer | 0 | 99 | 99 | 96.11 | 54.16 | 1 | 54.5 | 93 | 142 | 192 | ▅▆▆▇▆▆▆▆ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | data_type | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|
| id | character | 0 | 99 | 99 | 0 | 99 | 4 | 5 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | data_type | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|
| participant | character | 0 | 99 | 99 | 0 | 99 | 4 | 5 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Reported gender information
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gender | Reported gender information | integer | 1. Female, 2. Male |
0 | 99 | 99 | 1.38 | 0.49 | 1 | 1 | 1 | 2 | 2 | ▇▁▁▁▁▁▁▅ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Academic status
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| acad_status | Academic status | integer | 0. other, 1. bachelor, 2. master, 3. PhD, 4. other |
0 | 99 | 99 | 1.17 | 0.54 | 0 | 1 | 1 | 1 | 3 | ▁▁▇▁▁▂▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Age Group
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| age | Age Group | integer | 1. 18-29 yo, 2. 21-25 yo, 3. 26-30 yo, 4. 31-35 yo, 5. 36-40 yo, 6. 41-50 yo, 7. 51-60 yo, 8. 61-70 yo, 9. 71-80 yo, 10. 81-110 yo |
0 | 99 | 99 | 1.66 | 0.93 | 1 | 1 | 1 | 2 | 7 | ▇▅▂▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Refused participation after consent
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| refused | Refused participation after consent | integer | 0. No, 1. Yes |
0 | 99 | 99 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ▁▁▁▇▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Reason for refusal
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| reason | Reason for refusal | integer | 0. Not refused, 1. Data sharing, 2. Not enough time, 3. Other |
0 | 99 | 99 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ▁▁▁▇▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Data sharing policy in consent
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|---|---|
| consent | Data sharing policy in consent | character | A. Data will be shared, B. Data will not be shared |
0 | 99 | 99 | 0 | 1 | 1 | 1 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 1
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_1 | Careless response item 1 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 1.25 | 0.58 | 1 | 1 | 1 | 1 | 4 | ▇▁▂▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 2
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
2 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_2 | Careless response item 2 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 97 | 99 | 1.68 | 1.11 | 1 | 1 | 1 | 2 | 5 | ▇▁▁▂▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 3
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_3 | Careless response item 3 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 1.74 | 1.13 | 1 | 1 | 1 | 2.75 | 5 | ▇▂▁▂▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 4
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_4 | Careless response item 4 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 1.22 | 0.65 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 5
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_5 | Careless response item 5 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 1.17 | 0.66 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 6
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_6 | Careless response item 6 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 1.72 | 1.42 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Careless response item 7
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cr_7 | Careless response item 7 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 1.64 | 1.34 | 1 | 1 | 1 | 1 | 5 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring condition
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cond_anc | Anchoring condition | integer | 0. Low anchoring value, 1. High anchoring value |
0 | 99 | 99 | 0.51 | 0.5 | 0 | 0 | 1 | 1 | 1 | ▇▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring: How high is Mount Everest
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
5 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anc_everest | Anchoring: How high is Mount Everest | integer | 5 | 94 | 99 | 7691.74 | 5263.54 | 600 | 2850 | 8000 | 10000 | 30000 | ▇▃▇▅▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring: Population of Chicagor
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
6 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anc_chicago | Anchoring: Population of Chicagor | numeric | 6 | 93 | 99 | 34.12 | 258.87 | 0.004 | 1.5 | 3 | 6 | 2500 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Anchoring: Babies born in US
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
8 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anc_bebe | Anchoring: Babies born in US | integer | 8 | 91 | 99 | 74118.87 | 167458.67 | 80 | 1250 | 15000 | 50500 | 1e+06 | ▇▁▁▁▁▁▁▁ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Manipulation check, question 1: ‘Do you remember the consent you signed in the beginning?’
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mc_1 | Manipulation check, question 1: ‘Do you remember the consent you signed in the beginning?’ | integer | 1. Yes, 0. No |
0 | 99 | 99 | 0.97 | 0.17 | 0 | 1 | 1 | 1 | 1 | ▁▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Manipulation check, question 2: ‘Do you remember if the consent contained the topic of sharing anonymous data with others?’
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mc_2 | Manipulation check, question 2: ‘Do you remember if the consent contained the topic of sharing anonymous data with others?’ | integer | 1. Yes, 0. No |
0 | 99 | 99 | 0.66 | 0.48 | 0 | 0 | 1 | 1 | 1 | ▅▁▁▁▁▁▁▇ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Manipulation check, question: ‘Will your anonymous data be shared with others?’
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
1 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mc_3 | Manipulation check, question: ‘Will your anonymous data be shared with others?’ | integer | 1. Yes, 0. No |
1 | 98 | 99 | 0.33 | 0.47 | 0 | 0 | 0 | 1 | 1 | ▇▁▁▁▁▁▁▃ |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Observer remarks
show_missing_values <- FALSE
if (has_labels(item)) {
missing_values <- item[is.na(haven::zap_missing(item))]
attributes(missing_values) <- attributes(item)
if (!is.null(attributes(item)$labels)) {
attributes(missing_values)$labels <- attributes(missing_values)$labels[is.na(attributes(missing_values)$labels)]
attributes(item)$labels <- attributes(item)$labels[!is.na(attributes(item)$labels)]
}
if (is.double(item)) {
show_missing_values <- length(unique(haven::na_tag(missing_values))) > 1
item <- haven::zap_missing(item)
}
if (length(item_attributes$labels) == 0 && is.numeric(item)) {
item <- haven::zap_labels(item)
}
}
item_nomiss <- item[!is.na(item)]
# unnest mc_multiple and so on
if (
is.character(item_nomiss) &&
any(stringr::str_detect(item_nomiss, stringr::fixed(", "))) &&
!is.null(item_info) &&
(exists("type", item_info) &&
any(stringr::str_detect(item_info$type,
pattern = stringr::fixed("multiple"))))
) {
item_nomiss <- unlist(stringr::str_split(item_nomiss, pattern = stringr::fixed(", ")))
}
attributes(item_nomiss) <- attributes(item)
old_height <- knitr::opts_chunk$get("fig.height")
non_missing_choices <- item_attributes[["labels"]]
many_labels <- length(non_missing_choices) > 7
go_vertical <- !is_numeric_or_time_var(item_nomiss) || many_labels
if ( go_vertical ) {
# numeric items are plotted horizontally (because that's what usually expected)
# categorical items are plotted vertically because we can use the screen real estate better this way
if (is.null(choices) ||
dplyr::n_distinct(item_nomiss) > length(non_missing_choices)) {
non_missing_choices <- unique(item_nomiss)
names(non_missing_choices) <- non_missing_choices
}
choice_multiplier <- old_height/6.5
new_height <- 2 + choice_multiplier * length(non_missing_choices)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
if(could_disclose_unique_values(item_nomiss) && is.character(item_nomiss)) {
new_height <- old_height
}
knitr::opts_chunk$set(fig.height = new_height)
}
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
# todo: if there are free-text choices mingled in with the pre-defined ones, don't show
# todo: show rare items if they are pre-defined
# todo: bin rare responses into "other category"
if (!length(item_nomiss)) {
cat("No non-missing values to show.")
} else if (!could_disclose_unique_values(item_nomiss)) {
plot_labelled(item_nomiss, item_name, wrap_at, go_vertical)
} else {
if (is.character(item_nomiss)) {
char_count <- stringr::str_count(item_nomiss)
attributes(char_count)$label <- item_label
plot_labelled(char_count,
item_name, wrap_at, FALSE, trans = "log1p", "characters")
} else {
cat(dplyr::n_distinct(item_nomiss), " unique, categorical values, so not shown.")
}
}
knitr::opts_chunk$set(fig.height = old_height)
0 missing values.
attributes(item) <- item_attributes
df = data.frame(item, stringsAsFactors = FALSE)
names(df) = html_item_name
escaped_table(codebook_table(df))
| name | label | data_type | missing | complete | n | empty | n_unique | min | max |
|---|---|---|---|---|---|---|---|---|---|
| remarks | Observer remarks | character | 0 | 99 | 99 | 86 | 14 | 0 | 69 |
if (show_missing_values) {
plot_labelled(missing_values, item_name, wrap_at)
}
if (!is.null(item_info)) {
# don't show choices again, if they're basically same thing as value labels
if (!is.null(choices) && !is.null(item_info$choices) &&
all(names(na.omit(choices)) == item_info$choices) &&
all(na.omit(choices) == names(item_info$choices))) {
item_info$choices <- NULL
}
item_info$label_parsed <-
item_info$choice_list <- item_info$study_id <- item_info$id <- NULL
pander::pander(item_info)
}
if (!is.null(choices) && length(choices) && length(choices) < 30) {
pander::pander(as.list(choices))
}
Reliability: ωordinal [95% CI] = 0.21 [0.06;0.35].
Missing: 3.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.1009 |
| Omega Psych Tot | 0.9224 |
| Omega Psych H | 0.8314 |
| Omega Ordinal | 0.2053 |
| Cronbach Alpha | -0.742 |
| Greatest Lower Bound | 0.1801 |
| Alpha Ordinal | -0.3471 |
Positive correlations: 13 out of 28 (46%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_1, bf_6R, bf_11, bf_16, bf_21R, bf_26, bf_31R, bf_36
## Observations: 96
## Positive correlations: 13 out of 28 (46%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.1
## Omega (hierarchical): 0.83
## Revelle's omega (total): 0.92
## Greatest Lower Bound (GLB): 0.18
## Coefficient H: 0.93
## Cronbach's alpha: -0.74
## Confidence intervals:
## Omega (total): [0, 0.22]
## Cronbach's alpha: [0, -0.3]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.21
## Ordinal Omega (hierarch.): 0.15
## Ordinal Cronbach's alpha: -0.35
## Confidence intervals:
## Ordinal Omega (total): [0.06, 0.35]
## Ordinal Cronbach's alpha: [0, 0.07]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 4.818, 0.754, 0.665, 0.55, 0.456, 0.323, 0.232, 0.201
## Loadings:
## PC1
## bf_1 0.755
## bf_6R -0.808
## bf_11 0.603
## bf_16 0.654
## bf_21R -0.868
## bf_26 0.790
## bf_31R -0.799
## bf_36 0.888
##
## PC1
## SS loadings 4.818
## Proportion Var 0.602
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_1 1 96 3.50 1.16 4 3.56 1.48 1 5 4 -0.36 -0.79
## bf_6R 2 96 3.06 1.41 3 3.08 1.48 1 5 4 -0.15 -1.33
## bf_11 3 96 3.66 1.04 4 3.73 1.48 1 5 4 -0.55 -0.33
## bf_16 4 96 3.66 1.16 4 3.74 1.48 1 5 4 -0.56 -0.69
## bf_21R 5 96 2.79 1.41 3 2.74 1.48 1 5 4 0.03 -1.35
## bf_26 6 96 3.42 1.18 4 3.47 1.48 1 5 4 -0.34 -0.84
## bf_31R 7 96 2.96 1.34 3 2.95 1.48 1 5 4 -0.13 -1.22
## bf_36 8 96 3.26 1.29 3 3.32 1.48 1 5 4 -0.25 -1.07
## se
## bf_1 0.12
## bf_6R 0.14
## bf_11 0.11
## bf_16 0.12
## bf_21R 0.14
## bf_26 0.12
## bf_31R 0.14
## bf_36 0.13
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_1 | Big 5 Extraversion item 1 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.55 | 1.17 | 1 | 3 | 4 | 4.5 | 5 | ▂▅▁▇▁▇▁▇ |
| bf_6R | Big 5 Extraversion item 6 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.03 | 1.4 | 1 | 2 | 3 | 4 | 5 | ▆▅▁▅▁▇▁▅ |
| bf_11 | Big 5 Extraversion item 11 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.7 | 1.05 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▅ |
| bf_16 | Big 5 Extraversion item 16 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.68 | 1.16 | 1 | 3 | 4 | 5 | 5 | ▁▃▁▃▁▇▁▆ |
| bf_21R | Big 5 Extraversion item 21 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
2 | 97 | 99 | 2.8 | 1.4 | 1 | 1 | 3 | 4 | 5 | ▇▃▁▆▁▇▁▃ |
| bf_26 | Big 5 Extraversion item 26 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.42 | 1.16 | 1 | 3 | 4 | 4 | 5 | ▂▅▁▆▁▇▁▅ |
| bf_31R | Big 5 Extraversion item 31 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.99 | 1.34 | 1 | 2 | 3 | 4 | 5 | ▆▅▁▆▁▇▁▃ |
| bf_36 | Big 5 Extraversion item 36 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.28 | 1.29 | 1 | 2 | 3 | 4 | 5 | ▃▅▁▆▁▇▁▆ |
Reliability: ωordinal [95% CI] = 0.8 [0.74;0.86].
Missing: 2.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.7413 |
| Omega Psych Tot | 0.8053 |
| Omega Psych H | 0.4117 |
| Omega Ordinal | 0.7972 |
| Cronbach Alpha | 0.7449 |
| Greatest Lower Bound | 0.8228 |
| Alpha Ordinal | 0.7946 |
Positive correlations: 45 out of 45 (100%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_2R, bf_7, bf_12R, bf_17, bf_22, bf_27R, bf_32, bf_37R, bf_42, bf_45R
## Observations: 97
## Positive correlations: 45 out of 45 (100%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.74
## Omega (hierarchical): 0.41
## Revelle's omega (total): 0.81
## Greatest Lower Bound (GLB): 0.82
## Coefficient H: 0.78
## Cronbach's alpha: 0.74
## Confidence intervals:
## Omega (total): [0.66, 0.82]
## Cronbach's alpha: [0.67, 0.82]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.8
## Ordinal Omega (hierarch.): 0.79
## Ordinal Cronbach's alpha: 0.79
## Confidence intervals:
## Ordinal Omega (total): [0.74, 0.86]
## Ordinal Cronbach's alpha: [0.73, 0.86]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.14, 1.6, 0.973, 0.835, 0.824, 0.678, 0.637, 0.475, 0.455, 0.381
## Loadings:
## TC1 TC2
## bf_2R 0.602
## bf_7 0.778
## bf_12R 0.810
## bf_17 0.312 0.327
## bf_22 0.576
## bf_27R 0.702
## bf_32 0.704 0.159
## bf_37R 0.612 0.198
## bf_42 0.739 -0.205
## bf_45R 0.679
##
## TC1 TC2
## SS loadings 2.461 2.188
## Proportion Var 0.246 0.219
## Cumulative Var 0.246 0.465
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_2R 1 97 3.61 1.12 4 3.68 1.48 1 5 4 -0.51 -0.61
## bf_7 2 97 4.18 0.91 4 4.29 1.48 2 5 3 -0.83 -0.28
## bf_12R 3 97 4.00 1.17 4 4.16 1.48 1 5 4 -1.00 -0.06
## bf_17 4 97 3.52 1.03 4 3.54 1.48 1 5 4 -0.41 -0.71
## bf_22 5 97 3.41 1.21 4 3.51 1.48 1 5 4 -0.54 -0.73
## bf_27R 6 97 4.03 1.11 4 4.18 1.48 1 5 4 -0.87 -0.33
## bf_32 7 97 3.91 0.97 4 4.03 1.48 1 5 4 -0.90 0.47
## bf_37R 8 97 4.04 1.07 4 4.18 1.48 1 5 4 -0.84 -0.41
## bf_42 9 97 3.71 1.15 4 3.82 1.48 1 5 4 -0.68 -0.41
## bf_45R 10 97 4.36 0.93 5 4.53 0.00 1 5 4 -1.46 1.53
## se
## bf_2R 0.11
## bf_7 0.09
## bf_12R 0.12
## bf_17 0.10
## bf_22 0.12
## bf_27R 0.11
## bf_32 0.10
## bf_37R 0.11
## bf_42 0.12
## bf_45R 0.09
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_2R | Big 5 Agreeableness item 2 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 3.6 | 1.12 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▅▁▇▁▅ |
| bf_7 | Big 5 Agreeableness item 7 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 4.17 | 0.9 | 2 | 4 | 4 | 5 | 5 | ▁▁▃▁▁▆▁▇ |
| bf_12R | Big 5 Agreeableness item 12 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 3.96 | 1.2 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▂▁▅▁▇ |
| bf_17 | Big 5 Agreeableness item 17 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.49 | 1.06 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▃▁▇▁▃ |
| bf_22 | Big 5 Agreeableness item 22 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.41 | 1.21 | 1 | 3 | 4 | 4 | 5 | ▂▃▁▃▁▇▁▃ |
| bf_27R | Big 5 Agreeableness item 27 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 4 | 1.12 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▃▁▅▁▇ |
| bf_32 | Big 5 Agreeableness item 32 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.9 | 0.97 | 1 | 3.25 | 4 | 5 | 5 | ▁▂▁▂▁▇▁▅ |
| bf_37R | Big 5 Agreeableness item 37 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 4.03 | 1.08 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▂▁▅▁▇ |
| bf_42 | Big 5 Agreeableness item 42 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.69 | 1.17 | 1 | 3 | 4 | 5 | 5 | ▂▂▁▅▁▇▁▆ |
| bf_45R | Big 5 Agreeableness item 45 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 4.36 | 0.92 | 1 | 4 | 5 | 5 | 5 | ▁▁▁▁▁▃▁▇ |
Reliability: ωordinal [95% CI] = 0.23 [0.08;0.38].
Missing: 2.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.1577 |
| Omega Psych Tot | 0.8571 |
| Omega Psych H | 0.5402 |
| Omega Ordinal | 0.2275 |
| Cronbach Alpha | 0.322 |
| Greatest Lower Bound | 0.6847 |
| Alpha Ordinal | 0.3773 |
Positive correlations: 16 out of 36 (44%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_3, bf_8R, bf_13, bf_18R, bf_23R, bf_28, bf_33, bf_38R, bf_43R
## Observations: 97
## Positive correlations: 16 out of 36 (44%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.16
## Omega (hierarchical): 0.54
## Revelle's omega (total): 0.86
## Greatest Lower Bound (GLB): 0.68
## Coefficient H: 0.85
## Cronbach's alpha: 0.32
## Confidence intervals:
## Omega (total): [0, 0.32]
## Cronbach's alpha: [0.13, 0.52]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.23
## Ordinal Omega (hierarch.): 0.13
## Ordinal Cronbach's alpha: 0.38
## Confidence intervals:
## Ordinal Omega (total): [0.08, 0.38]
## Ordinal Cronbach's alpha: [0.18, 0.57]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.586, 1.518, 0.881, 0.698, 0.669, 0.513, 0.492, 0.378, 0.266
## Loadings:
## TC1 TC2
## bf_3 0.573 -0.376
## bf_8R 0.811
## bf_13 0.809 0.261
## bf_18R 0.683
## bf_23R 0.708
## bf_28 0.785
## bf_33 0.849
## bf_38R 0.560 -0.140
## bf_43R 0.660
##
## TC1 TC2
## SS loadings 2.644 2.302
## Proportion Var 0.294 0.256
## Cumulative Var 0.294 0.550
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_3 1 97 3.53 1.24 4 3.63 1.48 1 5 4 -0.48 -0.76
## bf_8R 2 97 2.82 1.23 3 2.80 1.48 1 5 4 0.07 -1.13
## bf_13 3 97 3.97 0.98 4 4.06 1.48 1 5 4 -0.72 0.04
## bf_18R 4 97 2.77 1.33 3 2.72 1.48 1 5 4 0.04 -1.21
## bf_23R 5 97 3.05 1.25 3 3.06 1.48 1 5 4 0.00 -1.02
## bf_28 6 97 3.81 1.10 4 3.92 1.48 1 5 4 -0.74 -0.32
## bf_33 7 97 3.78 0.93 4 3.87 1.48 1 5 4 -0.73 0.39
## bf_38R 8 97 3.60 1.07 4 3.68 1.48 1 5 4 -0.63 -0.11
## bf_43R 9 97 3.40 1.37 4 3.49 1.48 1 5 4 -0.52 -0.98
## se
## bf_3 0.13
## bf_8R 0.13
## bf_13 0.10
## bf_18R 0.13
## bf_23R 0.13
## bf_28 0.11
## bf_33 0.09
## bf_38R 0.11
## bf_43R 0.14
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_3 | Big 5 Conscientiousness item 3 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.52 | 1.24 | 1 | 3 | 4 | 5 | 5 | ▂▃▁▇▁▇▁▇ |
| bf_8R | Big 5 Conscientiousness item 8 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.85 | 1.24 | 1 | 2 | 3 | 4 | 5 | ▅▇▁▆▁▇▁▂ |
| bf_13 | Big 5 Conscientiousness item 13 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.97 | 0.98 | 1 | 3 | 4 | 5 | 5 | ▁▁▁▆▁▇▁▇ |
| bf_18R | Big 5 Conscientiousness item 18 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 2.8 | 1.34 | 1 | 2 | 3 | 4 | 5 | ▇▅▁▇▁▇▁▃ |
| bf_23R | Big 5 Conscientiousness item 23 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.07 | 1.26 | 1 | 2 | 3 | 4 | 5 | ▃▆▁▇▁▆▁▅ |
| bf_28 | Big 5 Conscientiousness item 28 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.83 | 1.1 | 1 | 3 | 4 | 5 | 5 | ▁▂▁▃▁▇▁▇ |
| bf_33 | Big 5 Conscientiousness item 33 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.77 | 0.93 | 1 | 3 | 4 | 4 | 5 | ▁▁▁▃▁▇▁▃ |
| bf_38R | Big 5 Conscientiousness item 38 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.6 | 1.08 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▅ |
| bf_43R | Big 5 Conscientiousness item 43 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.41 | 1.37 | 1 | 2.5 | 4 | 4.5 | 5 | ▃▂▁▅▁▇▁▆ |
Reliability: ωordinal [95% CI] = 0.85 [0.8;0.89].
Missing: 1.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.8357 |
| Omega Psych Tot | 0.873 |
| Omega Psych H | 0.7442 |
| Omega Ordinal | 0.8467 |
| Cronbach Alpha | 0.8319 |
| Greatest Lower Bound | 0.8607 |
| Alpha Ordinal | 0.8428 |
Positive correlations: 28 out of 28 (100%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_4, bf_9R, bf_14, bf_19, bf_24R, bf_29, bf_34R, bf_39
## Observations: 98
## Positive correlations: 28 out of 28 (100%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.84
## Omega (hierarchical): 0.74
## Revelle's omega (total): 0.87
## Greatest Lower Bound (GLB): 0.86
## Coefficient H: 0.88
## Cronbach's alpha: 0.83
## Confidence intervals:
## Omega (total): [0.79, 0.88]
## Cronbach's alpha: [0.78, 0.88]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.85
## Ordinal Omega (hierarch.): 0.83
## Ordinal Cronbach's alpha: 0.84
## Confidence intervals:
## Ordinal Omega (total): [0.8, 0.89]
## Ordinal Cronbach's alpha: [0.8, 0.89]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.779, 1.07, 0.8, 0.697, 0.572, 0.45, 0.364, 0.266
## Loadings:
## TC1 TC2
## bf_4 0.776
## bf_9R 0.718 0.198
## bf_14 0.362 0.545
## bf_19 0.199 0.675
## bf_24R 0.690
## bf_29 -0.181 0.778
## bf_34R 0.879 -0.121
## bf_39 0.548 0.468
##
## TC1 TC2
## SS loadings 2.270 2.237
## Proportion Var 0.284 0.280
## Cumulative Var 0.284 0.563
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_4 1 98 2.03 1.23 2 1.85 1.48 1 5 4 0.99 -0.10
## bf_9R 2 98 3.15 1.27 3 3.19 1.48 1 5 4 -0.02 -1.10
## bf_14 3 98 3.14 1.32 3 3.17 1.48 1 5 4 -0.23 -1.21
## bf_19 4 98 3.19 1.30 3 3.24 1.48 1 5 4 -0.25 -1.09
## bf_24R 5 98 3.13 1.30 3 3.16 1.48 1 5 4 -0.05 -1.11
## bf_29 6 98 2.96 1.39 3 2.95 1.48 1 5 4 -0.02 -1.32
## bf_34R 7 98 2.88 1.29 3 2.85 1.48 1 5 4 0.11 -1.11
## bf_39 8 98 2.87 1.29 3 2.84 1.48 1 5 4 0.13 -1.17
## se
## bf_4 0.12
## bf_9R 0.13
## bf_14 0.13
## bf_19 0.13
## bf_24R 0.13
## bf_29 0.14
## bf_34R 0.13
## bf_39 0.13
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_4 | Big 5 Neuroticism item 4 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.02 | 1.23 | 1 | 1 | 2 | 3 | 5 | ▇▃▁▂▁▂▁▁ |
| bf_9R | Big 5 Neuroticism item 9 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 3.13 | 1.28 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▆▁▆ |
| bf_14 | Big 5 Neuroticism item 14 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.14 | 1.32 | 1 | 2 | 3 | 4 | 5 | ▃▅▁▃▁▇▁▃ |
| bf_19 | Big 5 Neuroticism item 19 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.19 | 1.3 | 1 | 2 | 3 | 4 | 5 | ▃▅▁▆▁▇▁▅ |
| bf_24R | Big 5 Neuroticism item 24 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 3.13 | 1.3 | 1 | 2 | 3 | 4 | 5 | ▃▆▁▇▁▆▁▆ |
| bf_29 | Big 5 Neuroticism item 29 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.94 | 1.4 | 1 | 2 | 3 | 4 | 5 | ▇▇▁▆▁▇▁▅ |
| bf_34R | Big 5 Neuroticism item 34 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 2.87 | 1.29 | 1 | 2 | 3 | 4 | 5 | ▆▇▁▇▁▆▁▅ |
| bf_39 | Big 5 Neuroticism item 39 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.85 | 1.3 | 1 | 2 | 3 | 4 | 5 | ▅▇▁▆▁▆▁▃ |
Reliability: ωordinal [95% CI] = 0.69 [0.59;0.78].
Missing: 1.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.661 |
| Omega Psych Tot | 0.7831 |
| Omega Psych H | 0.5201 |
| Omega Ordinal | 0.6851 |
| Cronbach Alpha | 0.6188 |
| Greatest Lower Bound | 0.8336 |
| Alpha Ordinal | 0.6484 |
Positive correlations: 32 out of 45 (71%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: bf_5, bf_10, bf_15, bf_20, bf_25, bf_30, bf_35R, bf_40, bf_41R, bf_44
## Observations: 98
## Positive correlations: 32 out of 45 (71%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.66
## Omega (hierarchical): 0.52
## Revelle's omega (total): 0.78
## Greatest Lower Bound (GLB): 0.83
## Coefficient H: 0.85
## Cronbach's alpha: 0.62
## Confidence intervals:
## Omega (total): [0.56, 0.76]
## Cronbach's alpha: [0.52, 0.72]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.69
## Ordinal Omega (hierarch.): 0.67
## Ordinal Cronbach's alpha: 0.65
## Confidence intervals:
## Ordinal Omega (total): [0.59, 0.78]
## Ordinal Cronbach's alpha: [0.55, 0.75]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 3.212, 1.321, 1.191, 1.156, 0.914, 0.61, 0.584, 0.427, 0.333, 0.252
## Loadings:
## TC1 TC2 TC3 TC4
## bf_5 0.725 0.127 -0.116
## bf_10 0.152 0.744 0.218 -0.102
## bf_15 0.955
## bf_20 0.841 0.152
## bf_25 0.756 0.106 0.147
## bf_30 0.763 -0.346 -0.306
## bf_35R 0.194 -0.778 0.332
## bf_40 0.359 0.580 0.171 0.211
## bf_41R 0.901
## bf_44 0.558 -0.246 0.221
##
## TC1 TC2 TC3 TC4
## SS loadings 2.888 1.520 1.224 1.162
## Proportion Var 0.289 0.152 0.122 0.116
## Cumulative Var 0.289 0.441 0.563 0.679
##
## vars n mean sd median trimmed mad min max range skew kurtosis
## bf_5 1 98 3.47 0.97 4 3.50 1.48 1 5 4 -0.42 -0.20
## bf_10 2 98 4.07 0.89 4 4.17 1.48 1 5 4 -1.10 1.53
## bf_15 3 98 2.90 0.91 3 2.90 0.00 1 5 4 0.04 0.25
## bf_20 4 98 3.68 0.99 4 3.75 1.48 1 5 4 -0.48 -0.32
## bf_25 5 98 3.54 0.95 4 3.60 1.48 1 5 4 -0.68 0.33
## bf_30 6 98 3.61 1.30 4 3.75 1.48 1 5 4 -0.61 -0.77
## bf_35R 7 98 2.30 1.14 2 2.19 1.48 1 5 4 0.69 -0.35
## bf_40 8 98 3.88 0.89 4 3.95 1.48 1 5 4 -0.64 0.18
## bf_41R 9 98 2.52 1.47 2 2.41 1.48 1 5 4 0.47 -1.23
## bf_44 10 98 3.29 1.23 3 3.35 1.48 1 5 4 -0.32 -0.88
## se
## bf_5 0.10
## bf_10 0.09
## bf_15 0.09
## bf_20 0.10
## bf_25 0.10
## bf_30 0.13
## bf_35R 0.12
## bf_40 0.09
## bf_41R 0.15
## bf_44 0.12
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bf_5 | Big 5 Openness to experience item 5 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.46 | 0.96 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▆▁▇▁▂ |
| bf_10 | Big 5 Openness to experience item 10 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 4.07 | 0.88 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▂▁▇▁▆ |
| bf_15 | Big 5 Openness to experience item 15 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 2.9 | 0.91 | 1 | 2 | 3 | 3 | 5 | ▁▃▁▇▁▂▁▁ |
| bf_20 | Big 5 Openness to experience item 20 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.68 | 0.99 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▅ |
| bf_25 | Big 5 Openness to experience item 25 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.54 | 0.95 | 1 | 3 | 4 | 4 | 5 | ▁▂▁▅▁▇▁▂ |
| bf_30 | Big 5 Openness to experience item 30 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.61 | 1.29 | 1 | 3 | 4 | 5 | 5 | ▂▃▁▅▁▇▁▇ |
| bf_35R | Big 5 Openness to experience item 35 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.28 | 1.14 | 1 | 1 | 2 | 3 | 5 | ▆▇▁▅▁▂▁▁ |
| bf_40 | Big 5 Openness to experience item 40 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.88 | 0.88 | 1 | 3 | 4 | 4 | 5 | ▁▁▁▃▁▇▁▅ |
| bf_41R | Big 5 Openness to experience item 41 | numeric | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 2.51 | 1.47 | 1 | 1 | 2 | 4 | 5 | ▇▅▁▃▁▃▁▃ |
| bf_44 | Big 5 Openness to experience item 44 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.27 | 1.23 | 1 | 2 | 3 | 4 | 5 | ▂▅▁▇▁▇▁▅ |
Reliability: ωordinal [95% CI] = 0.86 [0.82;0.9].
Missing: 2.
old_height <- knitr::opts_chunk$get("fig.height")
new_height <- length(scale_info$scale_item_names)
new_height <- ifelse(new_height > 20, 20, new_height)
new_height <- ifelse(new_height < 1, 1, new_height)
new_height <- ifelse(is.na(new_height) | is.nan(new_height),
old_height, new_height)
knitr::opts_chunk$set(fig.height = new_height)
if (dplyr::n_distinct(na.omit(unlist(items))) < 12) {
likert_plot <- likert_from_items(items)
if (!is.null(likert_plot)) {
graphics::plot(likert_plot)
}
}
knitr::opts_chunk$set(fig.height = old_height)
wrap_at <- knitr::opts_chunk$get("fig.width") * 10
dist_plot <- plot_labelled(scale, scale_name, wrap_at)
choices <- attributes(items[[1]])$item$choices
breaks <- as.numeric(names(choices))
if (length(breaks)) {
suppressMessages( # ignore message about overwriting x axis
dist_plot <- dist_plot +
ggplot2::scale_x_continuous("values",
breaks = breaks,
labels = stringr::str_wrap(unlist(choices), ceiling(wrap_at * 0.21))) +
ggplot2::expand_limits(x = range(breaks)))
}
dist_plot
for (i in seq_along(reliabilities)) {
rel <- reliabilities[[i]]
cat(knitr::knit_print(rel, indent = paste0(indent, "####")))
}
coefs <- x$scaleReliability$output$dat %>%
tidyr::gather(index, estimate) %>%
dplyr::filter(index != "n.items", index != "n.observations") %>%
dplyr::mutate(index = stringr::str_to_title(
stringr::str_replace_all(index,
stringr::fixed("."), " ")))
cis <- coefs %>%
dplyr::filter(stringr::str_detect(index, " Ci ")) %>%
tidyr::separate(index, c("index", "hilo"), sep = " Ci ") %>%
tidyr::spread(hilo, estimate)
if (nrow(cis)) {
cis <- cis %>% dplyr::rename(
`Lower 95% CI` = .data$Lo, `Upper 95% CI` = .data$Hi
)
}
coefs_with_cis <- coefs %>%
dplyr::filter(!stringr::str_detect(index, " Ci ")) %>%
dplyr::left_join(cis, by = "index") %>%
dplyr::mutate(index = dplyr::if_else(index == "Glb", "Greatest Lower Bound", .data$index)) %>%
dplyr::arrange(!stringr::str_detect(index, "Omega")) %>%
dplyr::select(Index = .data$index, Estimate = .data$estimate)
pander::pander(coefs_with_cis)
| Index | Estimate |
|---|---|
| Omega | 0.863 |
| Omega Psych Tot | 0.8818 |
| Omega Psych H | 0.6076 |
| Omega Ordinal | 0.8601 |
| Cronbach Alpha | 0.8584 |
| Greatest Lower Bound | 0.9223 |
| Alpha Ordinal | 0.8576 |
Positive correlations: 152 out of 153 (99%)
print(x$scatterMatrix$output$scatterMatrix)
x$scatterMatrix$output$scatterMatrix <- no_md()
Detailed output
print(x)
##
## Information about this analysis:
##
## Dataframe: res$dat
## Items: soc_d_1, soc_d_2R, soc_d_3, soc_d_4R, soc_d_5R, soc_d_6, soc_d_7R, soc_d_8, soc_d_9, soc_d_10R, soc_d_11R, soc_d_12, soc_d_13R, soc_d_14R, soc_d_15, soc_d_16, soc_d_17R, soc_d_18
## Observations: 97
## Positive correlations: 152 out of 153 (99%)
##
## Estimates assuming interval level:
##
## Omega (total): 0.86
## Omega (hierarchical): 0.61
## Revelle's omega (total): 0.88
## Greatest Lower Bound (GLB): 0.92
## Coefficient H: 0.88
## Cronbach's alpha: 0.86
## Confidence intervals:
## Omega (total): [0.82, 0.9]
## Cronbach's alpha: [0.82, 0.9]
##
## Estimates assuming ordinal level:
##
## Ordinal Omega (total): 0.86
## Ordinal Omega (hierarch.): 0.85
## Ordinal Cronbach's alpha: 0.86
## Confidence intervals:
## Ordinal Omega (total): [0.82, 0.9]
## Ordinal Cronbach's alpha: [0.82, 0.9]
##
## Note: the normal point estimate and confidence interval for omega are based on the procedure suggested by Dunn, Baguley & Brunsden (2013) using the MBESS function ci.reliability, whereas the psych package point estimate was suggested in Revelle & Zinbarg (2008). See the help ('?scaleStructure') for more information.
##
## Eigen values: 5.489, 1.597, 1.432, 1.231, 1.111, 0.933, 0.907, 0.826, 0.723, 0.697, 0.551, 0.529, 0.486, 0.41, 0.326, 0.306, 0.278, 0.169
## Loadings:
## TC1 TC2 TC3 TC4 TC5
## soc_d_1 0.106 0.883
## soc_d_2R 0.814 0.174 -0.116
## soc_d_3 0.193 0.767 -0.387
## soc_d_4R 0.167 0.260 0.365 -0.336 0.250
## soc_d_5R 0.609 -0.320 0.243 0.168
## soc_d_6 0.775 0.210
## soc_d_7R 0.691 0.140 0.113
## soc_d_8 0.690 0.130
## soc_d_9 0.629 -0.147 0.171
## soc_d_10R -0.119 0.786 0.249 0.139
## soc_d_11R 0.311 0.109 0.623 -0.121
## soc_d_12 0.328 0.120 0.444 0.241
## soc_d_13R 0.722 -0.171 -0.106
## soc_d_14R 0.264 0.570 0.198 -0.274 0.151
## soc_d_15 0.291 0.189 0.293 0.258
## soc_d_16 0.442 0.371 -0.128 0.367 -0.103
## soc_d_17R 0.667 0.113 -0.108
## soc_d_18 0.177 0.782 0.109
##
## TC1 TC2 TC3 TC4 TC5
## SS loadings 2.979 2.316 2.016 1.405 1.311
## Proportion Var 0.166 0.129 0.112 0.078 0.073
## Cumulative Var 0.166 0.294 0.406 0.484 0.557
##
## vars n mean sd median trimmed mad min max range skew
## soc_d_1 1 97 4.14 0.85 4 4.24 1.48 1 5 4 -0.97
## soc_d_2R 2 97 2.87 1.31 2 2.84 1.48 1 5 4 0.49
## soc_d_3 3 97 3.23 1.03 3 3.25 1.48 1 5 4 -0.34
## soc_d_4R 4 97 1.97 1.15 2 1.78 1.48 1 5 4 1.16
## soc_d_5R 5 97 3.16 1.20 3 3.18 1.48 1 5 4 -0.03
## soc_d_6 6 97 3.10 1.33 3 3.13 1.48 1 5 4 -0.03
## soc_d_7R 7 97 3.09 1.29 3 3.11 1.48 1 5 4 0.06
## soc_d_8 8 97 3.24 1.40 3 3.29 1.48 1 5 4 -0.15
## soc_d_9 9 97 3.57 1.26 4 3.67 1.48 1 5 4 -0.46
## soc_d_10R 10 97 3.25 1.21 3 3.25 1.48 1 5 4 -0.06
## soc_d_11R 11 97 3.14 1.25 3 3.15 1.48 1 5 4 0.05
## soc_d_12 12 97 3.67 1.12 4 3.76 1.48 1 5 4 -0.63
## soc_d_13R 13 97 3.18 1.36 3 3.22 1.48 1 5 4 -0.02
## soc_d_14R 14 97 3.13 1.35 3 3.16 1.48 1 5 4 -0.02
## soc_d_15 15 97 3.62 1.03 4 3.67 1.48 1 5 4 -0.52
## soc_d_16 16 97 3.15 1.17 3 3.19 1.48 1 5 4 -0.18
## soc_d_17R 17 97 3.11 1.22 3 3.14 1.48 1 5 4 -0.08
## soc_d_18 18 97 3.49 1.37 4 3.61 1.48 1 5 4 -0.42
## kurtosis se
## soc_d_1 0.98 0.09
## soc_d_2R -1.07 0.13
## soc_d_3 -0.44 0.10
## soc_d_4R 0.49 0.12
## soc_d_5R -1.06 0.12
## soc_d_6 -1.22 0.14
## soc_d_7R -1.30 0.13
## soc_d_8 -1.38 0.14
## soc_d_9 -0.88 0.13
## soc_d_10R -1.22 0.12
## soc_d_11R -1.24 0.13
## soc_d_12 -0.45 0.11
## soc_d_13R -1.25 0.14
## soc_d_14R -1.35 0.14
## soc_d_15 -0.51 0.10
## soc_d_16 -0.87 0.12
## soc_d_17R -1.03 0.12
## soc_d_18 -1.08 0.14
for (i in seq_along(names(items))) {
attributes(items[[i]]) = recursive_escape(attributes(items[[i]]))
}
escaped_table(codebook_table(items))
| name | label | data_type | value_labels | missing | complete | n | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| soc_d_1 | Social desirability item 1 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 4.14 | 0.85 | 1 | 4 | 4 | 5 | 5 | ▁▁▁▂▁▇▁▇ |
| soc_d_2R | Social desirability item 2 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 2.88 | 1.31 | 1 | 2 | 2 | 4 | 5 | ▂▇▁▃▁▂▁▃ |
| soc_d_3 | Social desirability item 3 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.22 | 1.02 | 1 | 3 | 3 | 4 | 5 | ▂▃▁▇▁▇▁▂ |
| soc_d_4R | Social desirability item 4 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 1.97 | 1.14 | 1 | 1 | 2 | 2 | 5 | ▇▆▁▂▁▁▁▁ |
| soc_d_5R | Social desirability item 5 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 3.15 | 1.2 | 1 | 2 | 3 | 4 | 5 | ▂▇▁▇▁▇▁▅ |
| soc_d_6 | Social desirability item 6 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.1 | 1.33 | 1 | 2 | 3 | 4 | 5 | ▅▇▁▇▁▇▁▆ |
| soc_d_7R | Social desirability item 7 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 3.08 | 1.29 | 1 | 2 | 3 | 4 | 5 | ▂▇▁▃▁▆▁▅ |
| soc_d_8 | Social desirability item 8 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.24 | 1.39 | 1 | 2 | 3.5 | 4 | 5 | ▃▇▁▃▁▇▁▇ |
| soc_d_9 | Social desirability item 9 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.55 | 1.26 | 1 | 3 | 4 | 5 | 5 | ▂▅▁▆▁▇▁▇ |
| soc_d_10R | Social desirability item 10 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 3.23 | 1.21 | 1 | 2 | 3 | 4 | 5 | ▁▇▁▅▁▇▁▅ |
| soc_d_11R | Social desirability item 11 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
1 | 98 | 99 | 3.13 | 1.25 | 1 | 2 | 3 | 4 | 5 | ▂▇▁▅▁▆▁▅ |
| soc_d_12 | Social desirability item 12 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.65 | 1.12 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▃▁▇▁▅ |
| soc_d_13R | Social desirability item 13 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 3.16 | 1.35 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▅▁▇ |
| soc_d_14R | Social desirability item 14 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 3.12 | 1.34 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▃▁▆▁▅ |
| soc_d_15 | Social desirability item 15 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.64 | 1.02 | 1 | 3 | 4 | 4 | 5 | ▁▃▁▃▁▇▁▃ |
| soc_d_16 | Social desirability item 16 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
0 | 99 | 99 | 3.16 | 1.18 | 1 | 2 | 3 | 4 | 5 | ▂▆▁▇▁▇▁▃ |
| soc_d_17R | Social desirability item 17 | numeric | 5. Disapprove strongly, 4. Disapprove slightly, 3. Neither approve nore disapprove, 2. Approve slightly, 1. Approve strongly |
0 | 99 | 99 | 3.09 | 1.22 | 1 | 2 | 3 | 4 | 5 | ▃▇▁▇▁▇▁▅ |
| soc_d_18 | Social desirability item 18 | integer | 1. Disapprove strongly, 2. Disapprove slightly, 3. Neither approve nore disapprove, 4. Approve slightly, 5. Approve strongly |
1 | 98 | 99 | 3.48 | 1.37 | 1 | 2.25 | 4 | 5 | 5 | ▃▃▁▆▁▅▁▇ |
missingness_report
if (length(md_pattern)) {
if (knitr::is_html_output()) {
rmarkdown::paged_table(md_pattern, options = list(rows.print = 10))
} else {
knitr::kable(md_pattern)
}
}
items
export_table(metadata_table)
jsonld
JSON-LD metadata
The following JSON-LD can be found by search engines, if you share this codebook publicly on the web.
{
"name": "Shared Condition: French-Belgian student data on Big 5, Social Desirability as measured by Heteroduperie and Anchoring Paradigm, public data set",
"description": "45 items taking from the french translation of the Big 5 Personality questionnaire (Plaisant et al. 2010), 18 items from the subscale 'Hétéroduperie' of the french social desirability scale (Tournois et al., 2010) and 3 Anchoring paradigm items as used in the ManyLabs replication project (Klein et al., 2014). Also includes 7 careless response items based on Meade and Craig (2012). Only this part of the dataset can be publicly shared, as the study consent stated that we would not provide public access to the second part of the data. If you are interested in re-analyzing the entire dataset, please contact the authors\n\n\n## Table of variables\nThis table contains variable names, labels, their central tendencies and other attributes.\n\n|name |label |data_type |value_labels |scale_item_names |missing |complete |n |empty |n_unique |min |max |mean |sd |p0 |p25 |p50 |p75 |p100 |hist |\n|:-----------------------------------|:---------------------------------------------------------------------------------------------------------------------------|:---------|:----------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------|:--------|:--|:-----|:--------|:---|:---|:--------|:---------|:-----|:----|:-----|:-----|:-----|:--------|\n|V1 |NA |integer |NA |NA |0 |99 |99 |NA |NA |NA |NA |96.11 |54.16 |1 |54.5 |93 |142 |192 |▅▆▆▇▆▆▆▆ |\n|id |NA |character |NA |NA |0 |99 |99 |0 |99 |4 |5 |NA |NA |NA |NA |NA |NA |NA |NA |\n|participant |NA |character |NA |NA |0 |99 |99 |0 |99 |4 |5 |NA |NA |NA |NA |NA |NA |NA |NA |\n|gender |Reported gender information |integer |1. Female, - 2. Male |NA |0 |99 |99 |NA |NA |NA |NA |1.38 |0.49 |1 |1 |1 |2 |2 |▇▁▁▁▁▁▁▅ |\n|acad_status |Academic status |integer |0. other, - 1. bachelor, - 2. master, - 3. PhD, - 4. other |NA |0 |99 |99 |NA |NA |NA |NA |1.17 |0.54 |0 |1 |1 |1 |3 |▁▁▇▁▁▂▁▁ |\n|age |Age Group |integer |1. 18-29 yo, - 2. 21-25 yo, - 3. 26-30 yo, - 4. 31-35 yo, - 5. 36-40 yo, - 6. 41-50 yo, - 7. 51-60 yo, - 8. 61-70 yo, - 9. 71-80 yo, - 10. 81-110 yo |NA |0 |99 |99 |NA |NA |NA |NA |1.66 |0.93 |1 |1 |1 |2 |7 |▇▅▂▁▁▁▁▁ |\n|refused |Refused participation after consent |integer |0. No, - 1. Yes |NA |0 |99 |99 |NA |NA |NA |NA |0 |0 |0 |0 |0 |0 |0 |▁▁▁▇▁▁▁▁ |\n|reason |Reason for refusal |integer |0. Not refused, - 1. Data sharing, - 2. Not enough time, - 3. Other |NA |0 |99 |99 |NA |NA |NA |NA |0 |0 |0 |0 |0 |0 |0 |▁▁▁▇▁▁▁▁ |\n|consent |Data sharing policy in consent |character |A. Data will be shared, - B. Data will not be shared |NA |0 |99 |99 |0 |1 |1 |1 |NA |NA |NA |NA |NA |NA |NA |NA |\n|bf_1 |Big 5 Extraversion item 1 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.55 |1.17 |1 |3 |4 |4.5 |5 |▂▅▁▇▁▇▁▇ |\n|bf_2R |Big 5 Agreeableness item 2 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.6 |1.12 |1 |3 |4 |4 |5 |▁▃▁▅▁▇▁▅ |\n|bf_3 |Big 5 Conscientiousness item 3 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.52 |1.24 |1 |3 |4 |5 |5 |▂▃▁▇▁▇▁▇ |\n|bf_4 |Big 5 Neuroticism item 4 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.02 |1.23 |1 |1 |2 |3 |5 |▇▃▁▂▁▂▁▁ |\n|bf_5 |Big 5 Openness to experience item 5 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.46 |0.96 |1 |3 |4 |4 |5 |▁▂▁▆▁▇▁▂ |\n|bf_6R |Big 5 Extraversion item 6 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.03 |1.4 |1 |2 |3 |4 |5 |▆▅▁▅▁▇▁▅ |\n|bf_7 |Big 5 Agreeableness item 7 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |4.17 |0.9 |2 |4 |4 |5 |5 |▁▁▃▁▁▆▁▇ |\n|bf_8R |Big 5 Conscientiousness item 8 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.85 |1.24 |1 |2 |3 |4 |5 |▅▇▁▆▁▇▁▂ |\n|bf_9R |Big 5 Neuroticism item 9 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.13 |1.28 |1 |2 |3 |4 |5 |▃▇▁▇▁▆▁▆ |\n|bf_10 |Big 5 Openness to experience item 10 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |4.07 |0.88 |1 |4 |4 |5 |5 |▁▁▁▂▁▇▁▆ |\n|bf_11 |Big 5 Extraversion item 11 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.7 |1.05 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▅ |\n|bf_12R |Big 5 Agreeableness item 12 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.96 |1.2 |1 |3 |4 |5 |5 |▁▂▁▂▁▅▁▇ |\n|bf_13 |Big 5 Conscientiousness item 13 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.97 |0.98 |1 |3 |4 |5 |5 |▁▁▁▆▁▇▁▇ |\n|bf_14 |Big 5 Neuroticism item 14 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.14 |1.32 |1 |2 |3 |4 |5 |▃▅▁▃▁▇▁▃ |\n|bf_15 |Big 5 Openness to experience item 15 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |2.9 |0.91 |1 |2 |3 |3 |5 |▁▃▁▇▁▂▁▁ |\n|bf_16 |Big 5 Extraversion item 16 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.68 |1.16 |1 |3 |4 |5 |5 |▁▃▁▃▁▇▁▆ |\n|bf_17 |Big 5 Agreeableness item 17 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.49 |1.06 |1 |3 |4 |4 |5 |▁▃▁▃▁▇▁▃ |\n|bf_18R |Big 5 Conscientiousness item 18 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |2.8 |1.34 |1 |2 |3 |4 |5 |▇▅▁▇▁▇▁▃ |\n|bf_19 |Big 5 Neuroticism item 19 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.19 |1.3 |1 |2 |3 |4 |5 |▃▅▁▆▁▇▁▅ |\n|bf_20 |Big 5 Openness to experience item 20 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.68 |0.99 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▅ |\n|bf_21R |Big 5 Extraversion item 21 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |97 |99 |NA |NA |NA |NA |2.8 |1.4 |1 |1 |3 |4 |5 |▇▃▁▆▁▇▁▃ |\n|bf_22 |Big 5 Agreeableness item 22 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.41 |1.21 |1 |3 |4 |4 |5 |▂▃▁▃▁▇▁▃ |\n|bf_23R |Big 5 Conscientiousness item 23 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.07 |1.26 |1 |2 |3 |4 |5 |▃▆▁▇▁▆▁▅ |\n|bf_24R |Big 5 Neuroticism item 24 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.13 |1.3 |1 |2 |3 |4 |5 |▃▆▁▇▁▆▁▆ |\n|bf_25 |Big 5 Openness to experience item 25 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.54 |0.95 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▂ |\n|bf_26 |Big 5 Extraversion item 26 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.42 |1.16 |1 |3 |4 |4 |5 |▂▅▁▆▁▇▁▅ |\n|bf_27R |Big 5 Agreeableness item 27 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |4 |1.12 |1 |3 |4 |5 |5 |▁▂▁▃▁▅▁▇ |\n|bf_28 |Big 5 Conscientiousness item 28 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.83 |1.1 |1 |3 |4 |5 |5 |▁▂▁▃▁▇▁▇ |\n|bf_29 |Big 5 Neuroticism item 29 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.94 |1.4 |1 |2 |3 |4 |5 |▇▇▁▆▁▇▁▅ |\n|bf_30 |Big 5 Openness to experience item 30 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.61 |1.29 |1 |3 |4 |5 |5 |▂▃▁▅▁▇▁▇ |\n|bf_31R |Big 5 Extraversion item 31 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.99 |1.34 |1 |2 |3 |4 |5 |▆▅▁▆▁▇▁▃ |\n|bf_32 |Big 5 Agreeableness item 32 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.9 |0.97 |1 |3.25 |4 |5 |5 |▁▂▁▂▁▇▁▅ |\n|bf_33 |Big 5 Conscientiousness item 33 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.77 |0.93 |1 |3 |4 |4 |5 |▁▁▁▃▁▇▁▃ |\n|bf_34R |Big 5 Neuroticism item 34 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.87 |1.29 |1 |2 |3 |4 |5 |▆▇▁▇▁▆▁▅ |\n|bf_35R |Big 5 Openness to experience item 35 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.28 |1.14 |1 |1 |2 |3 |5 |▆▇▁▅▁▂▁▁ |\n|bf_36 |Big 5 Extraversion item 36 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.28 |1.29 |1 |2 |3 |4 |5 |▃▅▁▆▁▇▁▆ |\n|bf_37R |Big 5 Agreeableness item 37 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |4.03 |1.08 |1 |3 |4 |5 |5 |▁▂▁▂▁▅▁▇ |\n|bf_38R |Big 5 Conscientiousness item 38 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.6 |1.08 |1 |3 |4 |4 |5 |▁▂▁▅▁▇▁▅ |\n|bf_39 |Big 5 Neuroticism item 39 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.85 |1.3 |1 |2 |3 |4 |5 |▅▇▁▆▁▆▁▃ |\n|bf_40 |Big 5 Openness to experience item 40 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.88 |0.88 |1 |3 |4 |4 |5 |▁▁▁▃▁▇▁▅ |\n|bf_41R |Big 5 Openness to experience item 41 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |2.51 |1.47 |1 |1 |2 |4 |5 |▇▅▁▃▁▃▁▃ |\n|bf_42 |Big 5 Agreeableness item 42 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.69 |1.17 |1 |3 |4 |5 |5 |▂▂▁▅▁▇▁▆ |\n|bf_43R |Big 5 Conscientiousness item 43 |numeric |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.41 |1.37 |1 |2.5 |4 |4.5 |5 |▃▂▁▅▁▇▁▆ |\n|bf_44 |Big 5 Openness to experience item 44 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.27 |1.23 |1 |2 |3 |4 |5 |▂▅▁▇▁▇▁▅ |\n|bf_45R |Big 5 Agreeableness item 45 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |4.36 |0.92 |1 |4 |5 |5 |5 |▁▁▁▁▁▃▁▇ |\n|cr_1 |Careless response item 1 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |1.25 |0.58 |1 |1 |1 |1 |4 |▇▁▂▁▁▁▁▁ |\n|cr_2 |Careless response item 2 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |2 |97 |99 |NA |NA |NA |NA |1.68 |1.11 |1 |1 |1 |2 |5 |▇▁▁▂▁▁▁▁ |\n|cr_3 |Careless response item 3 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |1.74 |1.13 |1 |1 |1 |2.75 |5 |▇▂▁▂▁▁▁▁ |\n|cr_4 |Careless response item 4 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |1.22 |0.65 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_5 |Careless response item 5 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |1.17 |0.66 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_6 |Careless response item 6 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |1.72 |1.42 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|cr_7 |Careless response item 7 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |1.64 |1.34 |1 |1 |1 |1 |5 |▇▁▁▁▁▁▁▁ |\n|soc_d_1 |Social desirability item 1 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |4.14 |0.85 |1 |4 |4 |5 |5 |▁▁▁▂▁▇▁▇ |\n|soc_d_2R |Social desirability item 2 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |2.88 |1.31 |1 |2 |2 |4 |5 |▂▇▁▃▁▂▁▃ |\n|soc_d_3 |Social desirability item 3 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.22 |1.02 |1 |3 |3 |4 |5 |▂▃▁▇▁▇▁▂ |\n|soc_d_4R |Social desirability item 4 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |1.97 |1.14 |1 |1 |2 |2 |5 |▇▆▁▂▁▁▁▁ |\n|soc_d_5R |Social desirability item 5 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.15 |1.2 |1 |2 |3 |4 |5 |▂▇▁▇▁▇▁▅ |\n|soc_d_6 |Social desirability item 6 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.1 |1.33 |1 |2 |3 |4 |5 |▅▇▁▇▁▇▁▆ |\n|soc_d_7R |Social desirability item 7 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.08 |1.29 |1 |2 |3 |4 |5 |▂▇▁▃▁▆▁▅ |\n|soc_d_8 |Social desirability item 8 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.24 |1.39 |1 |2 |3.5 |4 |5 |▃▇▁▃▁▇▁▇ |\n|soc_d_9 |Social desirability item 9 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.55 |1.26 |1 |3 |4 |5 |5 |▂▅▁▆▁▇▁▇ |\n|soc_d_10R |Social desirability item 10 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.23 |1.21 |1 |2 |3 |4 |5 |▁▇▁▅▁▇▁▅ |\n|soc_d_11R |Social desirability item 11 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.13 |1.25 |1 |2 |3 |4 |5 |▂▇▁▅▁▆▁▅ |\n|soc_d_12 |Social desirability item 12 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.65 |1.12 |1 |3 |4 |4 |5 |▁▃▁▃▁▇▁▅ |\n|soc_d_13R |Social desirability item 13 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.16 |1.35 |1 |2 |3 |4 |5 |▃▇▁▇▁▅▁▇ |\n|soc_d_14R |Social desirability item 14 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.12 |1.34 |1 |2 |3 |4 |5 |▃▇▁▃▁▆▁▅ |\n|soc_d_15 |Social desirability item 15 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.64 |1.02 |1 |3 |4 |4 |5 |▁▃▁▃▁▇▁▃ |\n|soc_d_16 |Social desirability item 16 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.16 |1.18 |1 |2 |3 |4 |5 |▂▆▁▇▁▇▁▃ |\n|soc_d_17R |Social desirability item 17 |numeric |5. Disapprove strongly, - 4. Disapprove slightly, - 3. Neither approve nore disapprove, - 2. Approve slightly, - 1. Approve strongly |NA |0 |99 |99 |NA |NA |NA |NA |3.09 |1.22 |1 |2 |3 |4 |5 |▃▇▁▇▁▇▁▅ |\n|soc_d_18 |Social desirability item 18 |integer |1. Disapprove strongly, - 2. Disapprove slightly, - 3. Neither approve nore disapprove, - 4. Approve slightly, - 5. Approve strongly |NA |1 |98 |99 |NA |NA |NA |NA |3.48 |1.37 |1 |2.25 |4 |5 |5 |▃▃▁▆▁▅▁▇ |\n|cond_anc |Anchoring condition |integer |0. Low anchoring value, - 1. High anchoring value |NA |0 |99 |99 |NA |NA |NA |NA |0.51 |0.5 |0 |0 |1 |1 |1 |▇▁▁▁▁▁▁▇ |\n|anc_everest |Anchoring: How high is Mount Everest |integer |NA |NA |5 |94 |99 |NA |NA |NA |NA |7691.74 |5263.54 |600 |2850 |8000 |10000 |30000 |▇▃▇▅▁▁▁▁ |\n|anc_chicago |Anchoring: Population of Chicagor |numeric |NA |NA |6 |93 |99 |NA |NA |NA |NA |34.12 |258.87 |0.004 |1.5 |3 |6 |2500 |▇▁▁▁▁▁▁▁ |\n|anc_bebe |Anchoring: Babies born in US |integer |NA |NA |8 |91 |99 |NA |NA |NA |NA |74118.87 |167458.67 |80 |1250 |15000 |50500 |1e+06 |▇▁▁▁▁▁▁▁ |\n|mc_1 |Manipulation check, question 1: 'Do you remember the consent you signed in the beginning?' |integer |1. Yes, - 0. No |NA |0 |99 |99 |NA |NA |NA |NA |0.97 |0.17 |0 |1 |1 |1 |1 |▁▁▁▁▁▁▁▇ |\n|mc_2 |Manipulation check, question 2: 'Do you remember if the consent contained the topic of sharing anonymous data with others?' |integer |1. Yes, - 0. No |NA |0 |99 |99 |NA |NA |NA |NA |0.66 |0.48 |0 |0 |1 |1 |1 |▅▁▁▁▁▁▁▇ |\n|mc_3 |Manipulation check, question: 'Will your anonymous data be shared with others?' |integer |1. Yes, - 0. No |NA |1 |98 |99 |NA |NA |NA |NA |0.33 |0.47 |0 |0 |0 |1 |1 |▇▁▁▁▁▁▁▃ |\n|remarks |Observer remarks |character |NA |NA |0 |99 |99 |86 |14 |0 |69 |NA |NA |NA |NA |NA |NA |NA |NA |\n|Extraversion |8 bf items aggregated by rowMeans |numeric |NA |bf_1, bf_6R, bf_11, bf_16, bf_21R, bf_26, bf_31R, bf_36 |3 |96 |99 |NA |NA |NA |NA |3.33 |0.97 |1.5 |2.5 |3.31 |4.16 |5 |▃▇▅▇▃▇▇▅ |\n|Agreeableness |10 bf items aggregated by rowMeans |numeric |NA |bf_2R, bf_7, bf_12R, bf_17, bf_22, bf_27R, bf_32, bf_37R, bf_42, bf_45R |2 |97 |99 |NA |NA |NA |NA |3.88 |0.59 |2.2 |3.4 |3.9 |4.3 |5 |▁▂▂▇▅▇▆▂ |\n|Conscientiousness |9 bf items aggregated by rowMeans |numeric |NA |bf_3, bf_8R, bf_13, bf_18R, bf_23R, bf_28, bf_33, bf_38R, bf_43R |2 |97 |99 |NA |NA |NA |NA |3.27 |0.63 |1.78 |2.89 |3.22 |3.67 |4.56 |▂▂▂▇▆▃▃▃ |\n|Neuroticism |8 bf items aggregated by rowMeans |numeric |NA |bf_4, bf_9R, bf_14, bf_19, bf_24R, bf_29, bf_34R, bf_39 |1 |98 |99 |NA |NA |NA |NA |2.92 |0.88 |1.25 |2.12 |2.94 |3.5 |4.75 |▂▇▅▇▆▃▃▃ |\n|Openness to experience |10 bf items aggregated by rowMeans |numeric |NA |bf_5, bf_10, bf_15, bf_20, bf_25, bf_30, bf_35R, bf_40, bf_41R, bf_44 |1 |98 |99 |NA |NA |NA |NA |3.56 |0.54 |2.1 |3.2 |3.55 |3.98 |4.6 |▁▂▅▇▇▇▇▃ |\n|Heteroduperie - Social Desirability |18 soc_d items aggregated by rowMeans |numeric |NA |soc_d_1, soc_d_2R, soc_d_3, soc_d_4R, soc_d_5R, soc_d_6, soc_d_7R, soc_d_8, soc_d_9, soc_d_10R, soc_d_11R, soc_d_12, soc_d_13R, soc_d_14R, soc_d_15, soc_d_16, soc_d_17R, soc_d_18 |2 |97 |99 |NA |NA |NA |NA |3.23 |0.66 |1.78 |2.78 |3.22 |3.61 |4.89 |▁▆▆▇▇▃▂▂ |\n\n### Note\nThis dataset was automatically described using the [codebook R package](https://rubenarslan.github.io/codebook/) (version 0.8.1).",
"identifier": "https://dx.doi.org/10.17605/OSF.IO/X25D3",
"creator": "Julia C. Eberlen, Emmanuel Nicaise, Sarah Leveaux, Youri L. Mora, Olivier Klein",
"citation": "Eberlen, J. C., Nicaise, E., Leveaux, S., Mora, Y., & Klein, O. (2019, August 5). Impact of Data sharing: Data collected offline. https://doi.org/10.17605/OSF.IO/X25D3",
"datePublished": "2019-08-05",
"temporalCoverage": "2018-12-03 to 2018-12-17",
"spatialCoverage": "Campus Solbosch, Universite libre de Bruxelles, Brussels, Belgium",
"keywords": ["V1", "id", "participant", "gender", "acad_status", "age", "refused", "reason", "consent", "bf_1", "bf_2R", "bf_3", "bf_4", "bf_5", "bf_6R", "bf_7", "bf_8R", "bf_9R", "bf_10", "bf_11", "bf_12R", "bf_13", "bf_14", "bf_15", "bf_16", "bf_17", "bf_18R", "bf_19", "bf_20", "bf_21R", "bf_22", "bf_23R", "bf_24R", "bf_25", "bf_26", "bf_27R", "bf_28", "bf_29", "bf_30", "bf_31R", "bf_32", "bf_33", "bf_34R", "bf_35R", "bf_36", "bf_37R", "bf_38R", "bf_39", "bf_40", "bf_41R", "bf_42", "bf_43R", "bf_44", "bf_45R", "cr_1", "cr_2", "cr_3", "cr_4", "cr_5", "cr_6", "cr_7", "soc_d_1", "soc_d_2R", "soc_d_3", "soc_d_4R", "soc_d_5R", "soc_d_6", "soc_d_7R", "soc_d_8", "soc_d_9", "soc_d_10R", "soc_d_11R", "soc_d_12", "soc_d_13R", "soc_d_14R", "soc_d_15", "soc_d_16", "soc_d_17R", "soc_d_18", "cond_anc", "anc_everest", "anc_chicago", "anc_bebe", "mc_1", "mc_2", "mc_3", "remarks", "Extraversion", "Agreeableness", "Conscientiousness", "Neuroticism", "Openness to experience", "Heteroduperie - Social Desirability"],
"@context": "http://schema.org/",
"@type": "Dataset",
"variableMeasured": [
{
"name": "V1",
"@type": "propertyValue"
},
{
"name": "id",
"@type": "propertyValue"
},
{
"name": "participant",
"@type": "propertyValue"
},
{
"name": "gender",
"description": "Reported gender information",
"value": "1. Female,\n2. Male",
"maxValue": 2,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "acad_status",
"description": "Academic status",
"value": "0. other,\n1. bachelor,\n2. master,\n3. PhD,\n4. other",
"maxValue": 4,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "age",
"description": "Age Group",
"value": "1. 18-29 yo,\n2. 21-25 yo,\n3. 26-30 yo,\n4. 31-35 yo,\n5. 36-40 yo,\n6. 41-50 yo,\n7. 51-60 yo,\n8. 61-70 yo,\n9. 71-80 yo,\n10. 81-110 yo",
"maxValue": 10,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "refused",
"description": "Refused participation after consent",
"value": "0. No,\n1. Yes",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "reason",
"description": "Reason for refusal",
"value": "0. Not refused,\n1. Data sharing,\n2. Not enough time,\n3. Other",
"maxValue": 3,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "consent",
"description": "Data sharing policy in consent",
"value": "A. Data will be shared,\nB. Data will not be shared",
"maxValue": "B",
"minValue": "A",
"@type": "propertyValue"
},
{
"name": "bf_1",
"description": "Big 5 Extraversion item 1",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_2R",
"description": "Big 5 Agreeableness item 2",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_3",
"description": "Big 5 Conscientiousness item 3",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_4",
"description": "Big 5 Neuroticism item 4",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_5",
"description": "Big 5 Openness to experience item 5",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_6R",
"description": "Big 5 Extraversion item 6",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_7",
"description": "Big 5 Agreeableness item 7",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_8R",
"description": "Big 5 Conscientiousness item 8",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_9R",
"description": "Big 5 Neuroticism item 9",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_10",
"description": "Big 5 Openness to experience item 10",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_11",
"description": "Big 5 Extraversion item 11",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_12R",
"description": "Big 5 Agreeableness item 12",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_13",
"description": "Big 5 Conscientiousness item 13",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_14",
"description": "Big 5 Neuroticism item 14",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_15",
"description": "Big 5 Openness to experience item 15",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_16",
"description": "Big 5 Extraversion item 16",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_17",
"description": "Big 5 Agreeableness item 17",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_18R",
"description": "Big 5 Conscientiousness item 18",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_19",
"description": "Big 5 Neuroticism item 19",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_20",
"description": "Big 5 Openness to experience item 20",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_21R",
"description": "Big 5 Extraversion item 21",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_22",
"description": "Big 5 Agreeableness item 22",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_23R",
"description": "Big 5 Conscientiousness item 23",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_24R",
"description": "Big 5 Neuroticism item 24",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_25",
"description": "Big 5 Openness to experience item 25",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_26",
"description": "Big 5 Extraversion item 26",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_27R",
"description": "Big 5 Agreeableness item 27",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_28",
"description": "Big 5 Conscientiousness item 28",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_29",
"description": "Big 5 Neuroticism item 29",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_30",
"description": "Big 5 Openness to experience item 30",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_31R",
"description": "Big 5 Extraversion item 31",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_32",
"description": "Big 5 Agreeableness item 32",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_33",
"description": "Big 5 Conscientiousness item 33",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_34R",
"description": "Big 5 Neuroticism item 34",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_35R",
"description": "Big 5 Openness to experience item 35",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_36",
"description": "Big 5 Extraversion item 36",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_37R",
"description": "Big 5 Agreeableness item 37",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_38R",
"description": "Big 5 Conscientiousness item 38",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_39",
"description": "Big 5 Neuroticism item 39",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_40",
"description": "Big 5 Openness to experience item 40",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_41R",
"description": "Big 5 Openness to experience item 41",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_42",
"description": "Big 5 Agreeableness item 42",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_43R",
"description": "Big 5 Conscientiousness item 43",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_44",
"description": "Big 5 Openness to experience item 44",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "bf_45R",
"description": "Big 5 Agreeableness item 45",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_1",
"description": "Careless response item 1",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_2",
"description": "Careless response item 2",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_3",
"description": "Careless response item 3",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_4",
"description": "Careless response item 4",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_5",
"description": "Careless response item 5",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_6",
"description": "Careless response item 6",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cr_7",
"description": "Careless response item 7",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_1",
"description": "Social desirability item 1",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_2R",
"description": "Social desirability item 2",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_3",
"description": "Social desirability item 3",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_4R",
"description": "Social desirability item 4",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_5R",
"description": "Social desirability item 5",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_6",
"description": "Social desirability item 6",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_7R",
"description": "Social desirability item 7",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_8",
"description": "Social desirability item 8",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_9",
"description": "Social desirability item 9",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_10R",
"description": "Social desirability item 10",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_11R",
"description": "Social desirability item 11",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_12",
"description": "Social desirability item 12",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_13R",
"description": "Social desirability item 13",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_14R",
"description": "Social desirability item 14",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_15",
"description": "Social desirability item 15",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_16",
"description": "Social desirability item 16",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_17R",
"description": "Social desirability item 17",
"value": "5. Disapprove strongly,\n4. Disapprove slightly,\n3. Neither approve nore disapprove,\n2. Approve slightly,\n1. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "soc_d_18",
"description": "Social desirability item 18",
"value": "1. Disapprove strongly,\n2. Disapprove slightly,\n3. Neither approve nore disapprove,\n4. Approve slightly,\n5. Approve strongly",
"maxValue": 5,
"minValue": 1,
"@type": "propertyValue"
},
{
"name": "cond_anc",
"description": "Anchoring condition",
"value": "0. Low anchoring value,\n1. High anchoring value",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "anc_everest",
"description": "Anchoring: How high is Mount Everest",
"@type": "propertyValue"
},
{
"name": "anc_chicago",
"description": "Anchoring: Population of Chicagor",
"@type": "propertyValue"
},
{
"name": "anc_bebe",
"description": "Anchoring: Babies born in US",
"@type": "propertyValue"
},
{
"name": "mc_1",
"description": "Manipulation check, question 1: 'Do you remember the consent you signed in the beginning?'",
"value": "1. Yes,\n0. No",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "mc_2",
"description": "Manipulation check, question 2: 'Do you remember if the consent contained the topic of sharing anonymous data with others?' ",
"value": "1. Yes,\n0. No",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "mc_3",
"description": "Manipulation check, question: 'Will your anonymous data be shared with others?'",
"value": "1. Yes,\n0. No",
"maxValue": 1,
"minValue": 0,
"@type": "propertyValue"
},
{
"name": "remarks",
"description": "Observer remarks",
"@type": "propertyValue"
},
{
"name": "Extraversion",
"description": "8 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Agreeableness",
"description": "10 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Conscientiousness",
"description": "9 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Neuroticism",
"description": "8 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Openness to experience",
"description": "10 bf items aggregated by rowMeans",
"@type": "propertyValue"
},
{
"name": "Heteroduperie - Social Desirability",
"description": "18 soc_d items aggregated by rowMeans",
"@type": "propertyValue"
}
]
}`